#pragma once
#define CAT_SECURE_NO_WARINGS
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int SLData;

typedef struct SLTNode
{
	SLData data;
	struct SLTNode* next;
}SLTNode;


void SLTPrint(SLTNode* phead);

void SLTpushback(SLTNode** pphead, SLData x);
void SLTpushfront(SLTNode** pphead, SLData x);

void SLTPopback(SLTNode** pphead);
void SLTPopfront(SLTNode** pphead);

SLTNode* SLTFind(SLTNode* phead, SLData x);

void SLTInsert(SLTNode** pphead, SLTNode* pos, SLData x);

void STLInsterAfter(SLTNode** pphead, SLTNode* pos, SLData x);

void SLTPopfront(SLTNode** pphead);

void SLTErase(SLTNode** pphead, SLTNode* pos);

void SLTEraseAfter(SLTNode* pos);

void SListDesTroy(SLTNode** pphead);
